package com.jumi.microservice.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.math.*;
import java.util.Date;

/**
 * @author by  mazhao
 * @Date 2020-10-29
 */

@TableName("refund_goods")
public class RefundGoods {

    /**
     * ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 售后类型: 0-退货退款 1-退款
     */
    private Byte refundType;

    /**
     * 买家ID
     */
    private Long buyerId;

    /**
     * 原始订单ID
     */
    private Integer originalOrderId;

    /**
     * 原始订单编号
     */
    private String originalOrderNo;

    /**
     * 售后订单编号
     */
    private String refundOrderNo;

    /**
     * 退货商品skuId
     */
    private Integer refundGoodsId;

    /**
     * 退货商品spuId
     */
    private Integer refundSpuId;

    /**
     * 退款总金额 = 退款商品总金额 + 商品邮费
     */
    private BigDecimal refundTotalPrice;

    /**
     * 退款商品总金额 = 商品数量 * 商品单价
     */
    private BigDecimal refundPrice;

    /**
     * 商品邮费
     */
    private BigDecimal refundPostage;

    /**
     * 退货数量
     */
    private Integer refundNum;

    /**
     * 退款原因: 1-多拍、拍错、不想要 2-不喜欢、效果不好 3-未按承诺时间发货 4-缺货 5-其它 退货原因: 1-多拍、拍错、不想要 2-不喜欢、效果不好 3-商品成分描述不符 4-生产日期、保质期与商品描述不符 5-质量问题 6-收到的商品少件、破损或污渍
     */
    private Byte refundReason;

    /**
     * 问题描述
     */
    private String refundDesc;

    /**
     * 凭证图片: 多个用;分隔
     */
    private String refundPic;

    /**
     * 是否同意: 1-否 2-是
     */
    private Byte agreeFlag;

    /**
     * 售后原因: 1-快递丢件 2-包装破损 3-仓库漏发 4-其它
     */
    private Byte afterSaleReason;

    /**
     * 退货处理备注
     */
    private String dealWithRemark;

    /**
     * 退货处理时间
     */
    private Date dealWithTime;

    /**
     * 是否弃货: 1-否 2-是
     */
    private Byte renounceFlag;

    /**
     * 物流单号
     */
    private String logisticsNo;

    /**
     * 物流公司
     */
    private String logisticsCompany;

    /**
     * 快递公司编码
     */
    private String expressCode;

    /**
     * 物流信息上传时间
     */
    private Date logisticsTime;

    /**
     * 物流信息备注
     */
    private String logisticsRemark;

    /**
     * 收货商品ID
     */
    private Integer receivedGoodsId;

    /**
     * 收货数量
     */
    private Integer receivedNum;

    /**
     * 收货备注
     */
    private String receivedRemark;

    /**
     * 收货状态: 1-已收到 2-未收到 3-其它
     */
    private Byte receivedStatus;

    /**
     * 收货时间
     */
    private Date receivedTime;

    /**
     * 退货状态: 0-待处理 1-待收货 2-待审核 3-已完成 4-已拒绝 5-已取消
     */
    private Byte status;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 是否删除: 0-否 1-是
     */
    private Byte delFlag;

    /**
     * 发起人ID
     */
    private Long refundPromoterId;

    /**
     * 发起人姓名
     */
    private String refundPromoterName;

    /**
     * 处理操作人ID
     */
    private Long dealWithOperatorId;

    /**
     * 处理操作人姓名
     */
    private String dealWithOperatorName;

    /**
     * 收货操作人ID
     */
    private Long receivedOperatorId;

    /**
     * 收货操作人姓名
     */
    private String receivedOperatorName;

    /**
     * 物流信息操作人ID
     */
    private Long logisticsOperatorId;

    /**
     * 物流信息操作人姓名
     */
    private String logisticsOperatorName;

    /**
     * 弃货审核: 1-同意 2-拒绝
     */
    private Byte checkFlag;

    /**
     * 弃货审核操作人ID
     */
    private Long checkOperatorId;

    /**
     * 弃货审核操作人姓名
     */
    private String checkOperatorName;

    /**
     * 弃货备注
     */
    private String checkRemark;

    /**
     * 弃货审核时间
     */
    private Date checkTime;

    /**
     * 取消操作人ID
     */
    private Long cancelOperatorId;

    /**
     * 取消操作人姓名
     */
    private String cancelOperatorName;

    /**
     * 用户取消时间
     */
    private Date cancelTime;

    /**
     * 取消操作用户类型: 1-前端用户 2-后端管理员
     */
    private Byte cancelUserFlag;

    /**
     * 订单支付时间
     */
    private Date orderPayTime;

    /**
     * 订单下单时间
     */
    private Date orderCreateTime;

    /**
     * 自营标识: 0-非自营 1-自营
     */
    private Byte selfFlag;

    /**
     * 供应商ID【非自营】、仓库ID【自营】
     */
    private Integer supplierId;

    /**
     * 订单商品名称
     */
    private String goodsName;

    /**
     * 订单商品规格
     */
    private String goodsSpec;

    /**
     * 订单商品图片
     */
    private String goodsPic;

    /**
     * 订单购买数量
     */
    private Integer goodsAmount;

    /**
     * 订单支付单号
     */
    private String orderPayNo;

    /**
     * 订单第三方支付单号
     */
    private String orderThirdPartyPaySn;

    /**
     * 订单支付类型：0-未支付 1-支付宝支付 2-微信支付 3-余额支付 4-聚合支付 5-支付宝H5支付 6-微信H5支付 7-微信小程序支付
     */
    private Byte orderPayType;

    /**
     * 订单第三方退款相关信息
     */
    private String thirdRefundInfo;

    /**
     * 是否组合装
     */
    private Byte isGroup;

    /**
     * 退货备注信息
     */
    private String refundRemark;

    /**
     * 退货备注时间
     */
    private Date refundRemarkTime;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Byte getRefundType() {
        return refundType;
    }

    public void setRefundType(Byte refundType) {
        this.refundType = refundType;
    }

    public Long getBuyerId() {
        return buyerId;
    }

    public void setBuyerId(Long buyerId) {
        this.buyerId = buyerId;
    }

    public Integer getOriginalOrderId() {
        return originalOrderId;
    }

    public void setOriginalOrderId(Integer originalOrderId) {
        this.originalOrderId = originalOrderId;
    }

    public String getOriginalOrderNo() {
        return originalOrderNo;
    }

    public void setOriginalOrderNo(String originalOrderNo) {
        this.originalOrderNo = originalOrderNo;
    }

    public String getRefundOrderNo() {
        return refundOrderNo;
    }

    public void setRefundOrderNo(String refundOrderNo) {
        this.refundOrderNo = refundOrderNo;
    }

    public Integer getRefundGoodsId() {
        return refundGoodsId;
    }

    public void setRefundGoodsId(Integer refundGoodsId) {
        this.refundGoodsId = refundGoodsId;
    }

    public Integer getRefundSpuId() {
        return refundSpuId;
    }

    public void setRefundSpuId(Integer refundSpuId) {
        this.refundSpuId = refundSpuId;
    }

    public BigDecimal getRefundTotalPrice() {
        return refundTotalPrice;
    }

    public void setRefundTotalPrice(BigDecimal refundTotalPrice) {
        this.refundTotalPrice = refundTotalPrice;
    }

    public BigDecimal getRefundPrice() {
        return refundPrice;
    }

    public void setRefundPrice(BigDecimal refundPrice) {
        this.refundPrice = refundPrice;
    }

    public BigDecimal getRefundPostage() {
        return refundPostage;
    }

    public void setRefundPostage(BigDecimal refundPostage) {
        this.refundPostage = refundPostage;
    }

    public Integer getRefundNum() {
        return refundNum;
    }

    public void setRefundNum(Integer refundNum) {
        this.refundNum = refundNum;
    }

    public Byte getRefundReason() {
        return refundReason;
    }

    public void setRefundReason(Byte refundReason) {
        this.refundReason = refundReason;
    }

    public String getRefundDesc() {
        return refundDesc;
    }

    public void setRefundDesc(String refundDesc) {
        this.refundDesc = refundDesc;
    }

    public String getRefundPic() {
        return refundPic;
    }

    public void setRefundPic(String refundPic) {
        this.refundPic = refundPic;
    }

    public Byte getAgreeFlag() {
        return agreeFlag;
    }

    public void setAgreeFlag(Byte agreeFlag) {
        this.agreeFlag = agreeFlag;
    }

    public Byte getAfterSaleReason() {
        return afterSaleReason;
    }

    public void setAfterSaleReason(Byte afterSaleReason) {
        this.afterSaleReason = afterSaleReason;
    }

    public String getDealWithRemark() {
        return dealWithRemark;
    }

    public void setDealWithRemark(String dealWithRemark) {
        this.dealWithRemark = dealWithRemark;
    }

    public Date getDealWithTime() {
        return dealWithTime;
    }

    public void setDealWithTime(Date dealWithTime) {
        this.dealWithTime = dealWithTime;
    }

    public Byte getRenounceFlag() {
        return renounceFlag;
    }

    public void setRenounceFlag(Byte renounceFlag) {
        this.renounceFlag = renounceFlag;
    }

    public String getLogisticsNo() {
        return logisticsNo;
    }

    public void setLogisticsNo(String logisticsNo) {
        this.logisticsNo = logisticsNo;
    }

    public String getLogisticsCompany() {
        return logisticsCompany;
    }

    public void setLogisticsCompany(String logisticsCompany) {
        this.logisticsCompany = logisticsCompany;
    }

    public String getExpressCode() {
        return expressCode;
    }

    public void setExpressCode(String expressCode) {
        this.expressCode = expressCode;
    }

    public Date getLogisticsTime() {
        return logisticsTime;
    }

    public void setLogisticsTime(Date logisticsTime) {
        this.logisticsTime = logisticsTime;
    }

    public String getLogisticsRemark() {
        return logisticsRemark;
    }

    public void setLogisticsRemark(String logisticsRemark) {
        this.logisticsRemark = logisticsRemark;
    }

    public Integer getReceivedGoodsId() {
        return receivedGoodsId;
    }

    public void setReceivedGoodsId(Integer receivedGoodsId) {
        this.receivedGoodsId = receivedGoodsId;
    }

    public Integer getReceivedNum() {
        return receivedNum;
    }

    public void setReceivedNum(Integer receivedNum) {
        this.receivedNum = receivedNum;
    }

    public String getReceivedRemark() {
        return receivedRemark;
    }

    public void setReceivedRemark(String receivedRemark) {
        this.receivedRemark = receivedRemark;
    }

    public Byte getReceivedStatus() {
        return receivedStatus;
    }

    public void setReceivedStatus(Byte receivedStatus) {
        this.receivedStatus = receivedStatus;
    }

    public Date getReceivedTime() {
        return receivedTime;
    }

    public void setReceivedTime(Date receivedTime) {
        this.receivedTime = receivedTime;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Byte getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Byte delFlag) {
        this.delFlag = delFlag;
    }

    public Long getRefundPromoterId() {
        return refundPromoterId;
    }

    public void setRefundPromoterId(Long refundPromoterId) {
        this.refundPromoterId = refundPromoterId;
    }

    public String getRefundPromoterName() {
        return refundPromoterName;
    }

    public void setRefundPromoterName(String refundPromoterName) {
        this.refundPromoterName = refundPromoterName;
    }

    public Long getDealWithOperatorId() {
        return dealWithOperatorId;
    }

    public void setDealWithOperatorId(Long dealWithOperatorId) {
        this.dealWithOperatorId = dealWithOperatorId;
    }

    public String getDealWithOperatorName() {
        return dealWithOperatorName;
    }

    public void setDealWithOperatorName(String dealWithOperatorName) {
        this.dealWithOperatorName = dealWithOperatorName;
    }

    public Long getReceivedOperatorId() {
        return receivedOperatorId;
    }

    public void setReceivedOperatorId(Long receivedOperatorId) {
        this.receivedOperatorId = receivedOperatorId;
    }

    public String getReceivedOperatorName() {
        return receivedOperatorName;
    }

    public void setReceivedOperatorName(String receivedOperatorName) {
        this.receivedOperatorName = receivedOperatorName;
    }

    public Long getLogisticsOperatorId() {
        return logisticsOperatorId;
    }

    public void setLogisticsOperatorId(Long logisticsOperatorId) {
        this.logisticsOperatorId = logisticsOperatorId;
    }

    public String getLogisticsOperatorName() {
        return logisticsOperatorName;
    }

    public void setLogisticsOperatorName(String logisticsOperatorName) {
        this.logisticsOperatorName = logisticsOperatorName;
    }

    public Byte getCheckFlag() {
        return checkFlag;
    }

    public void setCheckFlag(Byte checkFlag) {
        this.checkFlag = checkFlag;
    }

    public Long getCheckOperatorId() {
        return checkOperatorId;
    }

    public void setCheckOperatorId(Long checkOperatorId) {
        this.checkOperatorId = checkOperatorId;
    }

    public String getCheckOperatorName() {
        return checkOperatorName;
    }

    public void setCheckOperatorName(String checkOperatorName) {
        this.checkOperatorName = checkOperatorName;
    }

    public String getCheckRemark() {
        return checkRemark;
    }

    public void setCheckRemark(String checkRemark) {
        this.checkRemark = checkRemark;
    }

    public Date getCheckTime() {
        return checkTime;
    }

    public void setCheckTime(Date checkTime) {
        this.checkTime = checkTime;
    }

    public Long getCancelOperatorId() {
        return cancelOperatorId;
    }

    public void setCancelOperatorId(Long cancelOperatorId) {
        this.cancelOperatorId = cancelOperatorId;
    }

    public String getCancelOperatorName() {
        return cancelOperatorName;
    }

    public void setCancelOperatorName(String cancelOperatorName) {
        this.cancelOperatorName = cancelOperatorName;
    }

    public Date getCancelTime() {
        return cancelTime;
    }

    public void setCancelTime(Date cancelTime) {
        this.cancelTime = cancelTime;
    }

    public Byte getCancelUserFlag() {
        return cancelUserFlag;
    }

    public void setCancelUserFlag(Byte cancelUserFlag) {
        this.cancelUserFlag = cancelUserFlag;
    }

    public Date getOrderPayTime() {
        return orderPayTime;
    }

    public void setOrderPayTime(Date orderPayTime) {
        this.orderPayTime = orderPayTime;
    }

    public Date getOrderCreateTime() {
        return orderCreateTime;
    }

    public void setOrderCreateTime(Date orderCreateTime) {
        this.orderCreateTime = orderCreateTime;
    }

    public Byte getSelfFlag() {
        return selfFlag;
    }

    public void setSelfFlag(Byte selfFlag) {
        this.selfFlag = selfFlag;
    }

    public Integer getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Integer supplierId) {
        this.supplierId = supplierId;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public String getGoodsSpec() {
        return goodsSpec;
    }

    public void setGoodsSpec(String goodsSpec) {
        this.goodsSpec = goodsSpec;
    }

    public String getGoodsPic() {
        return goodsPic;
    }

    public void setGoodsPic(String goodsPic) {
        this.goodsPic = goodsPic;
    }

    public Integer getGoodsAmount() {
        return goodsAmount;
    }

    public void setGoodsAmount(Integer goodsAmount) {
        this.goodsAmount = goodsAmount;
    }

    public String getOrderPayNo() {
        return orderPayNo;
    }

    public void setOrderPayNo(String orderPayNo) {
        this.orderPayNo = orderPayNo;
    }

    public String getOrderThirdPartyPaySn() {
        return orderThirdPartyPaySn;
    }

    public void setOrderThirdPartyPaySn(String orderThirdPartyPaySn) {
        this.orderThirdPartyPaySn = orderThirdPartyPaySn;
    }

    public Byte getOrderPayType() {
        return orderPayType;
    }

    public void setOrderPayType(Byte orderPayType) {
        this.orderPayType = orderPayType;
    }

    public String getThirdRefundInfo() {
        return thirdRefundInfo;
    }

    public void setThirdRefundInfo(String thirdRefundInfo) {
        this.thirdRefundInfo = thirdRefundInfo;
    }

    public Byte getIsGroup() {
        return isGroup;
    }

    public void setIsGroup(Byte isGroup) {
        this.isGroup = isGroup;
    }

    public String getRefundRemark() {
        return refundRemark;
    }

    public void setRefundRemark(String refundRemark) {
        this.refundRemark = refundRemark;
    }

    public Date getRefundRemarkTime() {
        return refundRemarkTime;
    }

    public void setRefundRemarkTime(Date refundRemarkTime) {
        this.refundRemarkTime = refundRemarkTime;
    }
}
